package com.zrf.gulimall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zrf.gulimall.common.database.utils.PageUtils;
import com.zrf.gulimall.product.entity.AttrEntity;
import com.zrf.gulimall.product.vo.AttrVo;

import java.util.List;
import java.util.Map;

/**
 * 商品属性
 *
 * @author zrf
 * @email 120662332@qq.com
 * @date 2021-01-23 16:07:19
 */
public interface AttrService extends IService<AttrEntity> {

    /**
     * 保存属性
     * @param attr 属性对象
     */
	void saveAttr(AttrVo attr);

    /**
     * 分页查询
     * @param params 分页属性
     * @param catelogId 目录id
	 * @param attrType 属性类型
     * @return 分页工具
     */
	PageUtils queryPage(Map<String, Object> params, Long catelogId, String attrType);

	/**
	 * 根据属性分组id查询
	 * @param attrGroupId 属性分组id
	 * @return 结果集
	 */
	List<AttrEntity> queryByGroupId(Long attrGroupId);

	/**
	 * 修改属性
	 * @param attr 属性信息
	 */
	void update(AttrVo attr);

	/**
	 * 根据分组id查询没有关联的属性
	 * @param params 分页参数
	 * @param attrGroupId
	 * @return
	 */
	PageUtils queryNoRelationByGroupId(Map<String, Object> params, Long attrGroupId);

	/**
	 * 根据id查询级联信息
	 * @param attrId 属性id
	 * @return 属性视图对象
	 */
	AttrVo queryRelationInfoById(Long attrId);
}

